Modern computer systems are often interconnected by a network. Networks use a variety of interconnection topologies and interconnection hardware technology. For each hardware technology, there may be numerous protocols for data transmission. One common network standard for topology, hardware and data protocol is the Token Ring. The word "token" refers to the method for collision avoidance. A token is a few bytes of data which are circulated from one device on the network to the next. A device can transmit data on the network only when it has the token. In a Token Ring network, all devices on the network are topologically connected into a logical ring.
In order for a device to join a Token Ring as a normal node, it must first complete a series of self tests, cable tests, and network status tests. After joining the network, the device must follow standard protocols for receiving and transmitting data. There are commercially available integrated circuits which facilitate the preliminary tests and which follow the normal protocol conventions. For example, the TMS38053 and TMS380C16 chips from Texas Instruments may be used to implement preliminary tests and the normal protocol. Commercial integrated circuits such as these are designed to automatically deny access to the network if problems exist.
A protocol analyzer is a device for monitoring data on a network for troubleshooting of network faults and for characterizing network usage and performance through statistical analysis. A protocol analyzer may also transmit messages to test system responses, identify active stations, or simulate heavily loaded network conditions. An example of a commercially available protocol analyzer is the Hewlett Packard 4980.
A protocol analyzer on a Token Ring network must meet all the standard requirements of a Token Ring compatible device. This means that the analyzer must receive and re-transmit frames of data at network speed. In addition, the analyzer must meet the protocol conventions described above for joining the network and for transmitting data. For cost effective design, use of commercially available integrated circuits is desirable. However, for troubleshooting effectiveness, the analyzer needs a way to circumvent the normal connection protocol imposed by commercially available circuits and join the ring even when problems exist on the ring.
The following information provides additional technical background to facilitate later discussion of the present invention. The Token Ring network was developed by International Business Machines (IBM) in 1969. Today, the Institute of Electrical and Electronic Engineers (IEEE) and the American National Standards Institute (ANSI) maintain standards for portions of the Token Ring network (IEEE/ANSI 802.5).
FIG. 1 is a simplified depiction of a Token Ring network as specified by IEEE 802.5. In FIG. 1, four computers (102, 104, 106, 108) are connected by a logical ring. As depicted in FIG. 1, network signals travel sequentially from one computer to the next. Each computer connected to the ring receives serial network data and either retransmits the received data or transmits new data. Even though the computers are logically connected in a ring, they physically appear to be connected as a "star" configuration because all network cables go through a central wiring concentrator 110, also referred to as a medium access control unit (MAU).
Continuing with FIG. 1, each computer connects to the main network trunk through a trunk coupling unit (112, 114, 116, 118). Detail 120 illustrates additional features of a typical trunk coupling unit (112, 114, 116, 118). As detail 120 illustrates, all signal cables (122, 124, 126, 128) are differential signal pairs. Currently, signal cables are typically shielded twisted pairs but could be coaxial cable or fiber-optic cable.
Continuing with FIG. 1, detail 120, each trunk coupling unit (112, 114, 116, 118) contains a latching insertion relay 130 with four double-pole double-throw switches. Signals between the network trunk and the computer are actually transformer coupled but to simplify the illustration, the transformer coupling has not been illustrated. The insertion relay 130 is actuated by a coil 132 connected between one line from the transmit line pair 126 from the computer and one line from the receive line pair 124 to the computer. A DC voltage on the insertion relay coil 132 causes the insertion relay 130 to switch from a quiescent bypass configuration (detail 134) to a coupled configuration (detail 120).
In the insertion relay quiescent bypass configuration (FIG. 1, detail 134), network trunk signals 136, 142 bypass the computer cable line pairs 138, 140. In addition, in the bypass configuration (detail 134), the computer transmit line pair 140 is connected to the computer receive line pair 138 so that computer generated signals loop back to the computer. This is used by the computer to test the computer signal cables 138, 140 before connecting to the network.
In the insertion relay coupled configuration (FIG. 1, detail 120), signals from the upstream network cable 122 are coupled to the computer receive line pair 124 and the computer transmit line pair 126 is coupled to the network cable 128 leading downstream to the next computer (transformer coupling not illustrated).
FIG. 2 is a simplified flow chart illustrating a typical test sequence which a computer should implement before connecting to a Token Ring. The computer network adapter will typically have a phase-locked-loop circuit to generate a clock which must be synchronized to incoming data before digital data can be extracted from analog network signals. Starting at FIG. 2, step 202, a computer will typically implement a preliminary synchronization (204) by sending test data through the medium access control unit (MAU) (FIG. 1, 110) which will have an insertion relay (FIG. 1, 132) in the quiescent bypass configuration (FIG. 1, detail 134). In step 206 the computer will compare received data extracted using the phase-locked-loop clock to the data which was generated in step 202. If there are no data errors, the insertion relay (FIG. 1, 132) is closed (FIG. 2, step 208) to permit network signals to pass through the computer. When a DC voltage is impressed across the computer signal lines to close the insertion relay, a simultaneous cable impedance test is activated (FIG. 2, test 210). Although illustrated as a discrete test, this is typically a continuous test, generating an interrupt to the computer if a cable fault ever occurs. In FIG. 2, block 212, the phase-locked-loop then synchronizes to incoming network data. Data accuracy is checked again (step 214) using checksums inherent in network data. In addition, network messages are analyzed to check for various network fault conditions (test 216).
Continuing with FIG. 2, if network data is being received error free, and no network fault conditions exist, a test frame is transmitted with the ID of the transmitting computer (step 218). Only the transmitting computer should respond to that ID (test 220). If the transmitted test frame is successfully passed from computer to computer and returned error free (test 222) back to the transmitting computer, then the computer has successfully inserted into the ring (step 224).
If a computer in a Token Ring network detects a hard failure, the detecting computer sends a special data frame (called a "beacon" ) to all other computers on the ring. The beacon frame suspends normal operation and invokes a special problem determination mode (called "beaconing"). As a part of routine Token Ring housekeeping, each computer on the ring knows the identity of its upstream neighbor. During the beaconing mode, the computer detecting a problem and its upstream neighbor execute a series of tests to attempt to isolate the problem to one of those two computers or the cabling in between. Normally, a computer which is not already inserted into the ring cannot be inserted during beaconing. However, this is an example of a situation where it is desirable to ignore normal protocol and insert a network analyzer to passively observe the troubleshooting messages and to do so without disturbing the existing sequence of neighbors.
The previous discussion leaves out considerable detail for simplicity. The point being illustrated is that insertion into a Token Ring is a complex process and is usually handled by specialized commercial integrated circuits. A network protocol analyzer needs be able to be inserted into a network to diagnose problems which might cause failure of the tests illustrated by FIG. 2, tests 214, 216, 220, and 222. A network analyzer needs to pass self test 206 and cable test 210 and then insert into the Token Ring regardless of other network problems (e.g. beaconing).